// 后台登录控制器

// 引入用户模型
const userModel = require( '../dao/models/userModel' )

module.exports = {

    // 登录显示
    index( req , res ){
        // 指定渲染的模板
        res.render( 'admin/login/index' )
    },
    // 用户登录处理
    async login( req , res ){
        // console.log( req.body )
        // res.send( 'aaaa' )

        // async/await 处理promise对象
        // 如果用户没有查询到则返回null，查询到则返回对象
        let ret = await userModel.checkUser( req.body )


        if ( !ret ) {
            return res.render( 'admin/login/msg' , { msg: '用户名或密码有误' } )
        } else {
            // 用户登录成功

            // 保存用户的登录状态  写入到 session中
            req.session.username = ret.username
            req.session.nickname = ret.nickname
            // 跳转到后面首页
            res.redirect( '/admin/index' )  // 目前这个路由还没有，所以需要去 admin后台路由去定义
        }


    },

    // 判断用户是否已经登录，用于用户放翻墙
    isLogin( req , res , next ){
        // 判断 session 中是否有对应的属性，如果有值，则表示用户是登录成功过来的
        if( !req.session.username ){
            res.render( 'admin/login/msg' , {msg: '请先登录'})
        } else {
            next()
        }
    }
}